"""3 彩票分析：可使用循环来搞明白中 彩票大奖有多难。
为此，创建一个名my_ticket 的列表或元组，再编写一个循环不断地随机选择数 或字母，
直到中大 奖为止。请打印一条消息， 指出执行循环多少次才中了大奖。
"""
import random
import string

def advanced_lottery_analysis():

    my_ticket = ['A', 7, 'X', 25, 'Z', 10]

    attempts = 0
    max_attempts = 100000000

    print("开始高级彩票分析...")
    print(f"我的彩票号码: {my_ticket}")
    print("正在尝试匹配中奖号码...")


    possible_values = list(range(1, 51)) + list(string.ascii_uppercase)

    while attempts < max_attempts:

        drawn_ticket = random.choices(possible_values, k=len(my_ticket))

        attempts += 1

        if drawn_ticket == my_ticket:
            print(f"\n恭喜！在第 {attempts} 次尝试后中了大奖！")
            print(f"中奖号码: {drawn_ticket}")
            return attempts

        if attempts % 10000000 == 0:
            print(f"已尝试 {attempts} 次...")

    print(f"\n在 {max_attempts} 次尝试后仍未中奖。中彩票真的很难！")
    return attempts


if __name__ == "__main__":
    advanced_lottery_analysis()